import hashlib
from config import SALT
from base.logcontrol import logger


def get_box_sign(params: (dict, str), salt: str = SALT) -> str:
    """
    加签名
    :param params: 参数字符串或字典或完整curl(内容标头)，字符串如：p1=1&p2=2&P3=3
    :param salt: 盐
    :return: 签名字符串
    """
    signed = 算法结果
    logger.info("\n\tsign: %s\n" % signed)
    return signed


def format_req(s: str) -> str:
    """
    支持参数字符串或完整curl
    :param s: 参数字符串或完整curl(内容标头)，字符串如：p1=1&p2=2&P3=3
    :return: 格式化参数字符串
    """

    # 处理curl或内容标头
    s = s.split("?")[-1].split(" ")[0]
    req_list = s.split("&")
    if not req_list:
        logger.error("参数字符串格式错误, curl或地址栏参数")
        raise ValueError("输入错误")
    for elm in req_list:
        if elm.startswith("sig"):
            req_list.remove(elm)
            break
    return "&".join(sorted(req_list))
